package com.pb.infra.oth.util;

import com.pb.infra.auth.entity.custom.PriviInterCustom;
import com.pb.infra.auth.entity.custom.PriviRoleCustom;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 登录用户对象
 *
 * @Author:jinyang
 * @Date: 2019/8/7
 * @Time: 00:00
 */
@Data
public class UserInfo implements Serializable {
    /**
     * 用户编号
     */
    private String userId;

    /**
     * 登录号
     */
    private String loginId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 组织架构编号
     */
    private String orgId;

    /**
     * 组织架构名称
     */
    private String orgName;

    /**
     * 条线编号
     */
    private String lineId;

    /**
     * 条线名称
     */
    private String lineName;

    /**
     * 法人编号
     */
    private String corpId;

    /**
     * 法人名称
     */
    private String corpName;

    /**
     * 岗位编号
     */
    private String postId;

    /**
     * 岗位名称
     */
    private String postName;

    /**
     * 角色代码
     */
    private String[] roles;

    /**
     * 服务端接口访问范围
     */
    private String[] interfaceAccess;

    /**
     * 职位编号
     */
    private String positionId;

    /**
     * 机构层次
     */
    private String orgRank;

    /**
     * 部门编号
     */
    private String deptId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 组织架构
     */
    private String structId;

    /**
     *数据权限标识
     */
    private String dataRghtFlag;

    /**
     * 职位菜单接口
     */
    private List<PriviInterCustom> positionMenus;

    /**
     * 职位菜单接口标志
     */
    private String menuFlag;

    /**
     * 用户所有角色接口
     */
    private List<PriviInterCustom> allInters;

    /**
     * 所有接口存储标志
     */
    private String allIntersFlag = "0";

    /**
     * 管理角色
     */
    private List<Map<String,Object>> adminRoleList;

    /**
     * 存储管理角色标志
     */
    private String adminRoleFlag = "0";

    /**
     * 用户角色
     */
    private List<PriviRoleCustom> userRoles;

    /**
     * 记录日志的职位
     */
    private List<Map<String, Object>> logPosition;

}
